﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KaroEngine
{
    public class Move
    {      
        short positionFrom;
        short positionTo;
        short tilePositionToMove;   // Should be -1 if not used. [used in Board & Rules]
        private short utility;

        #region Constructors
        public Move(short PositionFrom, short PositionTo, short TilePositionToMove)
        {
            positionFrom = PositionFrom;
            positionTo = PositionTo;
            tilePositionToMove = TilePositionToMove;
        }
        #endregion

        #region Getters and Setters
        public short Evaluation
        {
            get { return this.utility; }
            set { this.utility = value;}
        }

        public short PositionFrom
        {
            get
            {
                return this.positionFrom;
            }
        }

        public short PositionTo
        {
            get
            {
                return this.positionTo;
            }
        }

        public short TilePositionToMove
        {
            get
            {
                return this.tilePositionToMove;
            }
        }
        #endregion

        public override string ToString()
        {
            return "From: " + positionFrom + " -> To: " + positionTo + " TTM: " + tilePositionToMove;
        }
    }
}
